package cn.b.sky.mes.hr.service;

import java.util.List;

import cn.b.sky.mes.hr.model.condition.PersonnelTypeAssignCondition;
import cn.b.sky.mes.hr.model.PersonnelTypeAssign;

/**
 * 
 * <strong>Title : PersonnelTypeAssignService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.hr.service<br></strong>
 * <strong>Description : </strong>车间人员关系管理服务接口<br> 
 * <strong>Create on : 2016-3-24 下午3:28:03<br></strong>
 * <p>
 * @author lidapeng<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br> 
 */
public interface PersonnelTypeAssignService {

  /**
   * 
   * <strong>Title : getPersonnelTypeAssignsByCondition<br></strong>
   * <strong>Description : </strong>分页查询<br> 
   * <strong>Create on : 2016-3-25 下午3:41:24<br></strong>
   * <p>
   * @param condition
   * @return
   * List<PersonnelTypeAssign>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<PersonnelTypeAssign> getPersonnelTypeAssignsByCondition(PersonnelTypeAssignCondition condition);

  /**
   * 
   * <strong>Title : getPersonnelTypeAssignCountByCondition<br></strong>
   * <strong>Description : </strong>查询总数<br> 
   * <strong>Create on : 2016-3-25 下午3:41:34<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getPersonnelTypeAssignCountByCondition(PersonnelTypeAssignCondition condition);

  /**
   * 
   * <strong>Title : getPersonnelTypeAssignByPk<br></strong>
   * <strong>Description : </strong>查询单个人员与人员类型<br> 
   * <strong>Create on : 2016-3-25 下午3:41:45<br></strong>
   * <p>
   * @param personnelCode
   * @param personnelTypeCode
   * @param siteCode
   * @return
   * PersonnelTypeAssign
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  PersonnelTypeAssign getPersonnelTypeAssignByPk(String personnelCode, String personnelTypeCode, String siteCode);

  /**
   * 
   * <strong>Title : savePersonnelTypeAssign<br></strong>
   * <strong>Description : </strong>保存<br> 
   * <strong>Create on : 2016-3-25 下午3:42:07<br></strong>
   * <p>
   * @param personnelTypeAssign
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void savePersonnelTypeAssign(PersonnelTypeAssign personnelTypeAssign);

  /**
   * 
   * <strong>Title : modifyPersonnelTypeAssign<br></strong>
   * <strong>Description : </strong>修改<br> 
   * <strong>Create on : 2016-3-25 下午3:42:13<br></strong>
   * <p>
   * @param pta
   * void
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void modifyPersonnelTypeAssign(PersonnelTypeAssign pta);

  /**
   * 
   * <strong>Title : deletePersonnelTypeAssignByPk<br></strong>
   * <strong>Description : </strong>删除@<br> 
   * <strong>Create on : 2016-3-25 下午3:42:21<br></strong>
   * <p>
   * @param personnelCode
   * @param personnelTypeCode
   * @param siteCode
   * @return
   * String
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  String deletePersonnelTypeAssignByPk(String personnelCode, String personnelTypeCode, String siteCode);

  /**
   * 
   * <strong>Title : getPersonnelTypeAssignsByPersonnel<br></strong>
   * <strong>Description : </strong>根据人员查询人员相关类型数据<br> 
   * <strong>Create on : 2016年3月30日 上午11:17:08<br></strong>
   * <p>
   * @param siteCode
   * @param personnelCode
   * @return
   * List<PersonnelTypeAssign>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<PersonnelTypeAssign> getPersonnelTypeAssignsByPersonnel(String siteCode, String personnelCode);

}
